.class public Lcom/hierynomus/ntlm/messages/a;
.super Lcom/hierynomus/ntlm/messages/d;
.source "NtlmAuthenticate.java"


# static fields
.field private static h:[B


# instance fields
.field private a:[B

.field private b:[B

.field private c:[B

.field private d:[B

.field private e:[B

.field private f:[B

.field private g:J


# direct methods
.method static constructor <clinit>()V
    .locals 1

    const/4 v0, 0x0

    new-array v0, v0, [B

    .line 1
    sput-object v0, Lcom/hierynomus/ntlm/messages/a;->h:[B

    return-void
.end method

.method public constructor <init>([B[BLjava/lang/String;Ljava/lang/String;Ljava/lang/String;[BJ)V
    .locals 0

    .line 1
    invoke-direct {p0}, Lcom/hierynomus/ntlm/messages/d;-><init>()V

    .line 2
    invoke-direct {p0, p1}, Lcom/hierynomus/ntlm/messages/a;->a([B)[B

    move-result-object p1

    iput-object p1, p0, Lcom/hierynomus/ntlm/messages/a;->a:[B

    .line 3
    invoke-direct {p0, p2}, Lcom/hierynomus/ntlm/messages/a;->a([B)[B

    move-result-object p1

    iput-object p1, p0, Lcom/hierynomus/ntlm/messages/a;->b:[B

    .line 4
    invoke-direct {p0, p3}, Lcom/hierynomus/ntlm/messages/a;->a(Ljava/lang/String;)[B

    move-result-object p1

    iput-object p1, p0, Lcom/hierynomus/ntlm/messages/a;->c:[B

    .line 5
    invoke-direct {p0, p4}, Lcom/hierynomus/ntlm/messages/a;->a(Ljava/lang/String;)[B

    move-result-object p1

    iput-object p1, p0, Lcom/hierynomus/ntlm/messages/a;->d:[B

    .line 6
    invoke-direct {p0, p5}, Lcom/hierynomus/ntlm/messages/a;->a(Ljava/lang/String;)[B

    move-result-object p1

    iput-object p1, p0, Lcom/hierynomus/ntlm/messages/a;->e:[B

    .line 7
    invoke-direct {p0, p6}, Lcom/hierynomus/ntlm/messages/a;->a([B)[B

    move-result-object p1

    iput-object p1, p0, Lcom/hierynomus/ntlm/messages/a;->f:[B

    .line 8
    iput-wide p7, p0, Lcom/hierynomus/ntlm/messages/a;->g:J

    return-void
.end method

.method private a(Lcom/hierynomus/protocol/commons/buffer/Buffer$b;[BI)I
    .locals 2

    if-eqz p2, :cond_0

    goto :goto_0

    .line 29
    :cond_0
    sget-object p2, Lcom/hierynomus/ntlm/messages/a;->h:[B

    .line 30
    :goto_0
    array-length v0, p2

    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->c(I)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 31
    array-length v0, p2

    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->c(I)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    int-to-long v0, p3

    .line 32
    invoke-virtual {p1, v0, v1}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->b(J)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 33
    array-length p1, p2

    add-int/2addr p3, p1

    return p3
.end method

.method private a(Ljava/lang/String;)[B
    .locals 0

    if-eqz p1, :cond_0

    .line 35
    invoke-static {p1}, Les/cd0;->a(Ljava/lang/String;)[B

    move-result-object p1

    goto :goto_0

    :cond_0
    sget-object p1, Lcom/hierynomus/ntlm/messages/a;->h:[B

    :goto_0
    return-object p1
.end method

.method private a([B)[B
    .locals 0

    if-eqz p1, :cond_0

    goto :goto_0

    .line 34
    :cond_0
    sget-object p1, Lcom/hierynomus/ntlm/messages/a;->h:[B

    :goto_0
    return-object p1
.end method


# virtual methods
.method public a(Lcom/hierynomus/protocol/commons/buffer/Buffer$b;)V
    .locals 4

    const-string v0, "UTF-8"

    .line 1
    invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;

    move-result-object v0

    const-string v1, "NTLMSSP\u0000"

    invoke-virtual {p1, v1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a(Ljava/lang/String;Ljava/nio/charset/Charset;)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    const-wide/16 v0, 0x3

    .line 2
    invoke-virtual {p1, v0, v1}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->b(J)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 3
    iget-object v0, p0, Lcom/hierynomus/ntlm/messages/a;->a:[B

    const/16 v1, 0x50

    invoke-direct {p0, p1, v0, v1}, Lcom/hierynomus/ntlm/messages/a;->a(Lcom/hierynomus/protocol/commons/buffer/Buffer$b;[BI)I

    move-result v0

    .line 4
    iget-object v1, p0, Lcom/hierynomus/ntlm/messages/a;->b:[B

    invoke-direct {p0, p1, v1, v0}, Lcom/hierynomus/ntlm/messages/a;->a(Lcom/hierynomus/protocol/commons/buffer/Buffer$b;[BI)I

    move-result v0

    .line 5
    iget-object v1, p0, Lcom/hierynomus/ntlm/messages/a;->d:[B

    invoke-direct {p0, p1, v1, v0}, Lcom/hierynomus/ntlm/messages/a;->a(Lcom/hierynomus/protocol/commons/buffer/Buffer$b;[BI)I

    move-result v0

    .line 6
    iget-object v1, p0, Lcom/hierynomus/ntlm/messages/a;->c:[B

    invoke-direct {p0, p1, v1, v0}, Lcom/hierynomus/ntlm/messages/a;->a(Lcom/hierynomus/protocol/commons/buffer/Buffer$b;[BI)I

    move-result v0

    .line 7
    iget-object v1, p0, Lcom/hierynomus/ntlm/messages/a;->e:[B

    invoke-direct {p0, p1, v1, v0}, Lcom/hierynomus/ntlm/messages/a;->a(Lcom/hierynomus/protocol/commons/buffer/Buffer$b;[BI)I

    move-result v0

    .line 8
    iget-wide v1, p0, Lcom/hierynomus/ntlm/messages/a;->g:J

    sget-object v3, Lcom/hierynomus/ntlm/messages/NtlmNegotiateFlag;->NTLMSSP_NEGOTIATE_KEY_EXCH:Lcom/hierynomus/ntlm/messages/NtlmNegotiateFlag;

    invoke-static {v1, v2, v3}, Les/ed0$a;->a(JLes/ed0;)Z

    move-result v1

    if-eqz v1, :cond_0

    .line 9
    iget-object v1, p0, Lcom/hierynomus/ntlm/messages/a;->f:[B

    invoke-direct {p0, p1, v1, v0}, Lcom/hierynomus/ntlm/messages/a;->a(Lcom/hierynomus/protocol/commons/buffer/Buffer$b;[BI)I

    goto :goto_0

    .line 10
    :cond_0
    sget-object v1, Lcom/hierynomus/ntlm/messages/a;->h:[B

    invoke-direct {p0, p1, v1, v0}, Lcom/hierynomus/ntlm/messages/a;->a(Lcom/hierynomus/protocol/commons/buffer/Buffer$b;[BI)I

    .line 11
    :goto_0
    iget-wide v0, p0, Lcom/hierynomus/ntlm/messages/a;->g:J

    invoke-virtual {p1, v0, v1}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->b(J)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 12
    iget-wide v0, p0, Lcom/hierynomus/ntlm/messages/a;->g:J

    sget-object v2, Lcom/hierynomus/ntlm/messages/NtlmNegotiateFlag;->NTLMSSP_NEGOTIATE_VERSION:Lcom/hierynomus/ntlm/messages/NtlmNegotiateFlag;

    invoke-static {v0, v1, v2}, Les/ed0$a;->a(JLes/ed0;)Z

    move-result v0

    if-eqz v0, :cond_1

    .line 13
    invoke-virtual {p0}, Lcom/hierynomus/ntlm/messages/a;->a()[B

    move-result-object v0

    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a([B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    :cond_1
    const/16 v0, 0x10

    new-array v0, v0, [B

    .line 14
    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a([B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 15
    iget-object v0, p0, Lcom/hierynomus/ntlm/messages/a;->a:[B

    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a([B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 16
    iget-object v0, p0, Lcom/hierynomus/ntlm/messages/a;->b:[B

    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a([B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 17
    iget-object v0, p0, Lcom/hierynomus/ntlm/messages/a;->d:[B

    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a([B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 18
    iget-object v0, p0, Lcom/hierynomus/ntlm/messages/a;->c:[B

    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a([B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 19
    iget-object v0, p0, Lcom/hierynomus/ntlm/messages/a;->e:[B

    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a([B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 20
    iget-object v0, p0, Lcom/hierynomus/ntlm/messages/a;->f:[B

    invoke-virtual {p1, v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a([B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    return-void
.end method

.method public a()[B
    .locals 2

    .line 21
    new-instance v0, Lcom/hierynomus/protocol/commons/buffer/Buffer$b;

    sget-object v1, Lcom/hierynomus/protocol/commons/buffer/a;->a:Lcom/hierynomus/protocol/commons/buffer/a;

    invoke-direct {v0, v1}, Lcom/hierynomus/protocol/commons/buffer/Buffer$b;-><init>(Lcom/hierynomus/protocol/commons/buffer/a;)V

    const/4 v1, 0x6

    .line 22
    invoke-virtual {v0, v1}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a(B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    const/4 v1, 0x1

    .line 23
    invoke-virtual {v0, v1}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a(B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    const/16 v1, 0x1db0

    .line 24
    invoke-virtual {v0, v1}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->c(I)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    const/4 v1, 0x3

    new-array v1, v1, [B

    .line 25
    fill-array-data v1, :array_0

    .line 26
    invoke-virtual {v0, v1}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a([B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    const/16 v1, 0xf

    .line 27
    invoke-virtual {v0, v1}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->a(B)Lcom/hierynomus/protocol/commons/buffer/Buffer;

    .line 28
    invoke-virtual {v0}, Lcom/hierynomus/protocol/commons/buffer/Buffer;->d()[B

    move-result-object v0

    return-object v0

    nop

    :array_0
    .array-data 1
        0x0t
        0x0t
        0x0t
    .end array-data
.end method
